home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / ALGOL.LZH / BJ.BAS next >
BASIC Source File  |  1987-02-11  |  8KB  |  358 lines

  1.       4 DIM AA%(52,2)
  2.     504 COMMON AA%()
  3.    1001 GOTO 1014
  4.    1002 ::
  5.    1003 A%(17)=1
  6.    1004 FOR AA%=1 TO 4 STEP 1
  7.    1005 A%(15)=AA%
  8.    1006 FOR AB%=1 TO 13 STEP 1
  9.    1007 A%(16)=AB%
  10.    1008 AA%(A%(17),1)=A%(16)
  11.    1009 AA%(A%(17),2)=A%(15)
  12.    1010 A%(17)=A%(17)+1
  13.    1011 NEXT
  14.    1012 NEXT
  15.    1013 RETURN
  16.    1014 :
  17.    1015 GOTO 1030
  18.    1016 ::
  19.    1017 FOR AC%=52 TO 1 STEP -1
  20.    1018 A%(20)=AC%
  21.    1019 RANDOMIZE VAL(RIGHT$(TIME$,2))
  22.    1020 A%(18)=AA%(A%(20),1)
  23.    1021 A%(19)=AA%(A%(20),2)
  24.    1022 A%(21)=INT(RND*52)+1
  25.    1023 AA%(A%(20),1)=AA%(A%(21),1)
  26.    1024 AA%(A%(20),2)=AA%(A%(21),2)
  27.    1025 AA%(A%(21),1)=A%(18)
  28.    1026 AA%(A%(21),2)=A%(19)
  29.    1027 A%(3)=1
  30.    1028 NEXT
  31.    1029 RETURN
  32.    1030 :
  33.    1031 GOTO 1046
  34.    1032 ::
  35.    1033 LOCATE A%(9),A%(8)
  36.    1034 PRINT " _______"
  37.    1035 LOCATE A%(9)+1,A%(8)
  38.    1036 PRINT "|       |"
  39.    1037 LOCATE A%(9)+2,A%(8)
  40.    1038 PRINT "|       |"
  41.    1039 LOCATE A%(9)+3,A%(8)
  42.    1040 PRINT "|       |"
  43.    1041 LOCATE A%(9)+4,A%(8)
  44.    1042 PRINT "|       |"
  45.    1043 LOCATE A%(9)+5,A%(8)
  46.    1044 PRINT "|_______|"
  47.    1045 RETURN
  48.    1046 :
  49.    1047 GOTO 1060
  50.    1048 ::
  51.    1049 LOCATE 2,1
  52.    1050 PRINT "         mmmmmmmm"
  53.    1051 PRINT "      /~~~~~~~~~~~~\"
  54.    1052 PRINT "     /              \"
  55.    1053 PRINT "     |              |"
  56.    1054 PRINT "    (|              |"
  57.    1055 PRINT "     |       _\     |"
  58.    1056 PRINT "     |              |"
  59.    1057 PRINT "      \     ===    /"
  60.    1058 PRINT "        \_________/"
  61.    1059 RETURN
  62.    1060 :
  63.    1061 GOTO 1068
  64.    1062 ::
  65.    1063 LOCATE 4,7
  66.    1064 PRINT "            "
  67.    1065 LOCATE 5,7
  68.    1066 PRINT "  ~o~    ~o~ "
  69.    1067 RETURN
  70.    1068 :
  71.    1069 GOTO 1086
  72.    1070 ::
  73.    1071 LOCATE 8,12
  74.    1072 PRINT " ___"
  75.    1073 LOCATE 9,12
  76.    1074 PRINT "(___)"
  77.    1075 FOR AD%=1 TO 50 STEP 1
  78.    1076 A%(2)=AD%
  79.    1077 NEXT
  80.    1078 LOCATE 8,12
  81.    1079 PRINT "      "
  82.    1080 LOCATE 9,12
  83.    1081 PRINT " === "
  84.    1082 FOR AE%=1 TO 50 STEP 1
  85.    1083 A%(2)=AE%
  86.    1084 NEXT
  87.    1085 RETURN
  88.    1086 :
  89.    1087 GOTO 1106
  90.    1088 ::
  91.    1089 LOCATE 4,7
  92.    1090 PRINT "~~~  \ / ~~~"
  93.    1091 LOCATE 5,7
  94.    1092 PRINT "  o        o"
  95.    1093 GOSUB 1070
  96.    1094 LOCATE 23,1
  97.    1095 PRINT " PLAYER"
  98.    1096 GOSUB 1070
  99.    1097 LOCATE 23,10
  100.    1098 PRINT "WINS   "
  101.    1099 FOR AF%=1 TO 1000 STEP 1
  102.    1100 A%(1)=AF%
  103.    1101 NEXT
  104.    1102 LOCATE 23,1
  105.    1103 PRINT "                            "
  106.    1104 GOSUB 1062
  107.    1105 RETURN
  108.    1106 :
  109.    1107 GOTO 1125
  110.    1108 ::
  111.    1109 GOSUB 1070
  112.    1110 LOCATE 23,1
  113.    1111 PRINT "DEALER"
  114.    1112 GOSUB 1070
  115.    1113 LOCATE 23,8
  116.    1114 PRINT "WINS"
  117.    1115 LOCATE 9,12
  118.    1116 PRINT "\___/"
  119.    1117 FOR AG%=1 TO 1000 STEP 1
  120.    1118 A%(10)=AG%
  121.    1119 NEXT
  122.    1120 LOCATE 9,12
  123.    1121 PRINT " === "
  124.    1122 LOCATE 23,1
  125.    1123 PRINT "                            "
  126.    1124 RETURN
  127.    1125 :
  128.    1126 GOTO 1189
  129.    1127 ::
  130.    1128 IF A%(6)>1 THEN 1130
  131.    1129 GOTO 1164
  132.    1130 IF A%(6)<10 THEN 1132
  133.    1131 GOTO 1134
  134.    1132 A$(3)=CHR$(A%(6)+48)
  135.    1133 GOTO 1135
  136.    1134 :
  137.    1135 :
  138.    1136 IF A%(6)=10 THEN 1138
  139.    1137 GOTO 1140
  140.    1138 A$(3)="10"
  141.    1139 GOTO 1141
  142.    1140 :
  143.    1141 :
  144.    1142 IF A%(6)=11 THEN 1144
  145.    1143 GOTO 1147
  146.    1144 A$(3)="J"
  147.    1145 A%(6)=10
  148.    1146 GOTO 1148
  149.    1147 :
  150.    1148 :
  151.    1149 IF A%(6)=12 THEN 1151
  152.    1150 GOTO 1154
  153.    1151 A$(3)="Q"
  154.    1152 A%(6)=10
  155.    1153 GOTO 1155
  156.    1154 :
  157.    1155 :
  158.    1156 IF A%(6)=13 THEN 1158
  159.    1157 GOTO 1161
  160.    1158 A$(3)="K"
  161.    1159 A%(6)=10
  162.    1160 GOTO 1162
  163.    1161 :
  164.    1162 :
  165.    1163 GOTO 1174
  166.    1164 :
  167.    1165 A$(3)="A"
  168.    1166 IF A%(14)+11>21 THEN 1168
  169.    1167 GOTO 1170
  170.    1168 A%(6)=1
  171.    1169 GOTO 1173
  172.    1170 :
  173.    1171 A%(6)=11
  174.    1172 A$(6)="Y"
  175.    1173 :
  176.    1174 :
  177.    1175 A%(14)=A%(14)+A%(6)
  178.    1176 IF A%(14)>21 THEN 1178
  179.    1177 GOTO 1186
  180.    1178 IF A$(6)="Y" THEN 1180
  181.    1179 GOTO 1183
  182.    1180 A%(14)=A%(14)-10
  183.    1181 A$(6)="N"
  184.    1182 GOTO 1184
  185.    1183 :
  186.    1184 :
  187.    1185 GOTO 1187
  188.    1186 :
  189.    1187 :
  190.    1188 RETURN
  191.    1189 :
  192.    1190 GOTO 1199
  193.    1191 ::
  194.    1192 A%(4)=A%(4)+1
  195.    1193 A%(9)=14
  196.    1194 A%(8)=A%(4)*13-3
  197.    1195 GOSUB 1032
  198.    1196 LOCATE 17,A%(4)*13
  199.    1197 PRINT A$(3)
  200.    1198 RETURN
  201.    1199 :
  202.    1200 GOTO 1209
  203.    1201 ::
  204.    1202 A%(5)=A%(5)+1
  205.    1203 A%(9)=5
  206.    1204 A%(8)=A%(5)*13+8
  207.    1205 GOSUB 1032
  208.    1206 LOCATE 8,A%(5)*13+11
  209.    1207 PRINT A$(3)
  210.    1208 RETURN
  211.    1209 :
  212.    1210 GOTO 1238
  213.    1211 ::
  214.    1212 A%(6)=AA%(A%(3),1)
  215.    1213 IF A$(1)="D" THEN 1215
  216.    1214 GOTO 1222
  217.    1215 A%(14)=A%(13)
  218.    1216 A$(6)=A$(5)
  219.    1217 GOSUB 1127
  220.    1218 A%(13)=A%(14)
  221.    1219 A$(5)=A$(6)
  222.    1220 GOSUB 1201
  223.    1221 GOTO 1229
  224.    1222 :
  225.    1223 A%(14)=A%(12)
  226.    1224 A$(6)=A$(4)
  227.    1225 GOSUB 1127
  228.    1226 A%(12)=A%(14)
  229.    1227 A$(4)=A$(6)
  230.    1228 GOSUB 1191
  231.    1229 :
  232.    1230 A%(3)=A%(3)+1
  233.    1231 IF A%(3)>52 THEN 1233
  234.    1232 GOTO 1235
  235.    1233 GOSUB 1016
  236.    1234 GOTO 1236
  237.    1235 :
  238.    1236 :
  239.    1237 RETURN
  240.    1238 :
  241.    1239 A%(7)=1000
  242.    1240 GOSUB 1002
  243.    1241 GOSUB 1016
  244.    1242 IF A%(7)>0 THEN 1243 ELSE GOTO 1352
  245.    1243 FOR AI%=1 TO 50 STEP 1
  246.    1244 A%(1)=AI%
  247.    1245 PRINT " "
  248.    1246 NEXT
  249.    1247 GOSUB 1048
  250.    1248 GOSUB 1062
  251.    1249 LOCATE 2,50
  252.    1250 PRINT " CREDIT ......$ "
  253.    1251 LOCATE 2,66
  254.    1252 PRINT A%(7)
  255.    1253 GOSUB 1070
  256.    1254 LOCATE 23,1
  257.    1255 PRINT "PLACE "
  258.    1256 GOSUB 1070
  259.    1257 LOCATE 23,7
  260.    1258 PRINT "YOUR "
  261.    1259 GOSUB 1070
  262.    1260 LOCATE 23,12
  263.    1261 PRINT "BET "
  264.    1262 LOCATE 23,17
  265.    1263 INPUT A%(11)
  266.    1264 LOCATE 23,1
  267.    1265 PRINT "                          "
  268.    1266 A%(4)=0
  269.    1267 A%(5)=0
  270.    1268 A%(12)=0
  271.    1269 A%(13)=0
  272.    1270 A$(4)="N"
  273.    1271 A$(5)="N"
  274.    1272 A$(1)="P"
  275.    1273 GOSUB 1211
  276.    1274 A$(1)="D"
  277.    1275 GOSUB 1211
  278.    1276 A$(1)="P"
  279.    1277 GOSUB 1211
  280.    1278 A$(1)="D"
  281.    1279 GOSUB 1211
  282.    1280 A$(1)="P"
  283.    1281 GOSUB 1070
  284.    1282 LOCATE 23,1
  285.    1283 PRINT "STAY "
  286.    1284 GOSUB 1070
  287.    1285 LOCATE 23,6
  288.    1286 PRINT "OR "
  289.    1287 GOSUB 1070
  290.    1288 LOCATE 23,9
  291.    1289 PRINT "HIT "
  292.    1290 LOCATE 23,14
  293.    1291 INPUT A$(2)
  294.    1292 LOCATE 23,1
  295.    1293 PRINT "                      "
  296.    1294 IF A$(2)="H" THEN 1295 ELSE GOTO 1316
  297.    1295 GOSUB 1211
  298.    1296 IF A%(12)<21 THEN 1298
  299.    1297 GOTO 1312
  300.    1298 GOSUB 1070
  301.    1299 LOCATE 23,1
  302.    1300 PRINT "STAY "
  303.    1301 GOSUB 1070
  304.    1302 LOCATE 23,6
  305.    1303 PRINT "OR "
  306.    1304 GOSUB 1070
  307.    1305 LOCATE 23,9
  308.    1306 PRINT "HIT "
  309.    1307 LOCATE 23,14
  310.    1308 INPUT A$(2)
  311.    1309 LOCATE 23,1
  312.    1310 PRINT "                       "
  313.    1311 GOTO 1314
  314.    1312 :
  315.    1313 A$(2)="S"
  316.    1314 :
  317.    1315 GOTO 1294
  318.    1316 :
  319.    1317 A$(1)="D"
  320.    1318 IF A%(12)<22 THEN 1320
  321.    1319 GOTO 1326
  322.    1320 IF A%(13)<16 THEN 1321 ELSE GOTO 1324
  323.    1321 GOSUB 1211
  324.    1322 GOSUB 1127
  325.    1323 GOTO 1320
  326.    1324 :
  327.    1325 GOTO 1327
  328.    1326 :
  329.    1327 :
  330.    1328 IF A%(12)>21 THEN 1330
  331.    1329 GOTO 1333
  332.    1330 GOSUB 1108
  333.    1331 A%(7)=A%(7)-A%(11)
  334.    1332 GOTO 1350
  335.    1333 :
  336.    1334 IF A%(13)>21 THEN 1336
  337.    1335 GOTO 1339
  338.    1336 GOSUB 1088
  339.    1337 A%(7)=A%(7)+A%(11)
  340.    1338 GOTO 1349
  341.    1339 :
  342.    1340 IF A%(12)<=A%(13) THEN 1342
  343.    1341 GOTO 1345
  344.    1342 GOSUB 1108
  345.    1343 A%(7)=A%(7)-A%(11)
  346.    1344 GOTO 1348
  347.    1345 :
  348.    1346 GOSUB 1088
  349.    1347 A%(7)=A%(7)+A%(11)
  350.    1348 :
  351.    1349 :
  352.    1350 :
  353.    1351 GOTO 1242
  354.    1352 :
  355.       2 OPTION BASE 1
  356.     503 COMMON AZ(),A%(),A$(),B$()
  357.       3 DIM AZ( 1 ),A%( 21 ),A$( 6 ),B$( 1 )
  358.